package com.pig4cloud.pig.common.mybatis.core;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.IService;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**
 *
 * @author chen
 */
 public interface BaseService<T> extends IService<T> {

	default <K> T findById(Serializable id) {
		return getById(id);
	}


	/**
	 * 通过一列值查询
	 *
	 * @return
	 */

	default <K> List<T> selectByMap(Map<String, Object> params){
		return getBaseMapper().selectByMap(params);
	}

	/**
	 * 通过一唯一列值查询唯一值
	 *
	 * @param column
	 * @param value
	 * @return
	 */

	default <K> T selectByUniqueColumn(String column, Object value) {
		QueryWrapper<T> qw = new QueryWrapper<>();
		qw.eq(column,value);
		return getBaseMapper().selectOne(qw);
	}
}
